colorscheme:
yellow
violet
bw
Prihlásenie:
Login: Heslo:

Problem statement: zenit14skf

F: Spiklenecký snem
25 bodov Časový limit: 100 ms

V súlade so zvyšujúcou sa ekonomickou úrovňou prišli aj očakávania zvieratiek na zlepšenie podmienok v ZOO. Medzi hlavné požiadavky patrí zvýšenie kvality a kvantity stravy, zväčšenie výbehov a kvalitnejší návštevníci. Keďže vedenie odmieta týmto nárokom vyhovieť, zvieracie osadenstvo začalo strúhať plány na hromadný útek.

Na dohodnutie detailov únikového plánu si zvieratká chcú zorganizovať stretnutie. Jediným vhodným miestom je veľká sála, v ktorej sa uskutočňujú vystúpenia slonov. V hľadisku sály je \(R\) radov, v každom je \(S\) stoličiek. Každé zvieratko potrebuje samostatnú stoličku a zároveň každému stačí jedna.

Na stretnutie sa chystá prísť \(M\) mäsožravcov a \(B\) bylinožravcov. V tejto úlohe budeme hľadať vhodné rozsadenia účastníkov do sály. Na usadenie bylinožravcov neplatia žiadne obmedzenia. Platí ale, že mäsožravec nesmie mať vedľa seba, pred sebou ani za sebou žiadne zviera, pretože by namiesto brainstormovania nápadov mohol svojho partnera pri príprave úteku zožrať.

Formát vstupu a výstupu

Na vstupe sú 4 čísla: \(R, S, M\) a \(B\). Platí \(1 \leq R, S \leq 30\) a \(0 \leq M, B \leq R \cdot S\). Na výstup vypíšte jedno možné rozsadenie v sále. Presnejšie, vypíšte \(R\) riadkov a na každom z nich \(S\) znakov. Každý z týchto znakov musí byť B, M alebo . (bodka) – či na danej stoličke sedí bylinožravec, mäsožravec alebo je stolička prázdna. Počet vypísaných M a B musí zodpovedať hodnotám \(M\) a \(B\) zo vstupu. Musí tiež platiť, že nikde na pláne nebudú ani v riadku ani v stĺpci susediť ani dve M, ani M a B. Môžete predpokladať, že vstup bude zvolený tak, aby nejaké riešenie existovalo. Spomedzi všetkých korektných rozsadení môžete vypísať ľubovoľné.

Poznámka

Ak máte pocit, že je táto úloha ťažká, tak vedzte, že sme ju mohli spraviť ešte ťažšou! Napríklad by sme mohli ešte pridať obmedzenia, že niektoré individuálne dvojice zvierat sa nemajú radi a nemôžu sedieť vedľa seba.

Príklady

Input:

3 3 1 2

Output:

.M.
..B
..B

Je aj veľa iných možností. Váš program môže vypísať ľubovoľnú.

Input:

2 4 0 6

Output:

B.BB
BBB.

Input:

4 3 4 1

Output:

M.M
...
B.M
.M.

(C) MišoF, Zemčo. 2007 - 2013